package com.itheima.mp.mapper;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.itheima.mp.domain.po.User;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

import java.util.ArrayList;
import java.util.List;

//@SpringBootTest
public class CostumSqlWrapper {

    @Autowired
    private UserMapper userMapper;

    /**
     * 自定义sql，用wrapper构建复杂的where条件，然后自己自定义sql语句剩下的部分
     * 让id在1，2，4的用户balabce减去指定值
     */
    @Test
    public void testCustomSql() {
        /**
         * 自定义sql的使用流程：
         * 1、基于wrapper构建where条件
         * 2、在mapper方法参数中用param注解声明wrapper变量名称，必须是ew；
         * 3、自定义sql，并使用wrapper条件；
         */
        List<Long> ids = List.of(1L,2L,4L);
        int amount = 200;
        LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<User>()
                .in(User::getId,ids);
        userMapper.updateBalanceByIds(wrapper,amount);
    }
}
